package com.yunyao.framework.dto.soSupply;

import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
public class SosupplySaveDto implements Serializable {
    private static final long serialVersionUID = 4433647288827054670L;

    /**
     * 主键ID
     */
    private String id;

    /**
     * 合同ID
     */
    private String contractId;

    /**
     * 合同名称
     */
    private String contractName;

    /**
     * 供应商单位ID
     */
    private String supplierId;

    /**
     * 供应商单位名称
     */
    private String supplierName;

    /**
     * 项目ID
     */
    private String projectId;

    /**
     * 项目名称
     */
    private String projectName;

    /**
     * 采购单位ID
     */
    private String purchaseDeptId;

    /**
     * 采购单位名称
     */
    private String purchaseDeptName;

    /**
     * 申请单ID
     */
    private String applyId;

    /**
     * 订单编号
     */
    private String orderSn;

    /**
     * 订单名称
     */
    private String orderName;

    /**
     * 材料订单总数量
     */
    private BigDecimal orderNum;

    /**
     * 收货时间
     */
    private Date receivingTime;

    /**
     * 本次含税价格
     */
    private BigDecimal taxTotalPrice;

    /**
     * 本次不含税价格
     */
    private BigDecimal notaxTotalPrice;

    /**
     * 合同方式0电线电缆及光纤光缆 1 电梯及扶梯
     */
    private String contractMethod;

    /**
     * 供应商供货时间
     */
    private Date shipmentAt;

    /**
     * 供应商供货人ID
     */
    private String shipmentUserId;

    /**
     * 供应商供货人名称
     */
    private String shipmentUserName;

    /**
     * 供应商供货描述
     */
    private String shipmentDesc;

    /**
     * 供应商供货附件
     */
    private String shipmentFiles;

    /**
     * 项目部确认时间
     */
    private Date takeAt;

    /**
     * 项目部确认人ID
     */
    private String takeUserId;

    /**
     * 项目部确认人名称
     */
    private String takeUserName;

    /**
     * 项目部确认描述
     */
    private String takeDesc;

    /**
     * 项目部确认附件
     */
    private String takeFiles;

    /**
     * 创建时间
     */
    private Date createdAt;

    /**
     * 创建人
     */
    private String createdBy;

    /**
     * 创建部门
     */
    private String createDept;

    /**
     * 修改时间
     */
    private Date updatedAt;

    /**
     * 修改人
     */
    private String updatedBy;

    /**
     * 业务状态 1:正常
     */
    private Integer status;

    /**
     * 数据删除状态0:未删除,1:删除
     */
    private Integer isDeleted;

    /**
     * 租户ID
     */
    private String tenantId;

    /**
     * 供货状态0未发起供货 1待供货 2供货完成 3供货延迟 4 验收中 5、验收完成
     */
    private Integer supplyStatus;

    /**
     * 对账状态 0 待对账 1 对账中 2对账完成
     */
    private String reconciliationStatus;

    /**
     * 铜价系数
     */
    private BigDecimal copperCoefficient;

    /**
     * 云采项目确认 0=否 1=是
     */
    private Integer projectFlowableStatus;

    /**
     * 发票状态0=未开票 1=开票中 2=已开票
     */
    private String invoiceStatus;

    /**
     * 项目确认附件
     */
    private String projectConfirmFile;

    /**
     * 供应商确认附件
     */
    private String supplyConfirmFile;

    /**
     * 本次供货总数量
     */
    private BigDecimal supplyNum;

    /**
     * 送货时间
     */
    private Date supplyTime;

    /**
     * 送货用户ID
     */
    private String supplyUserId;

    /**
     * 送货用户名称
     */
    private String supplyUserName;

    /**
     * 送货说明
     */
    private String supplyMark;

    /**
     * 送货名称
     */
    private String supplyFile;

    /**
     * 采购清单的主键
     */
    private String poSupplyId;

    /**
     * 对账总价
     */
    private BigDecimal reconciliationPrice;

    /**
     * 对账总数量
     */
    private BigDecimal reconciliationNum;

    /**
     * 供货状态备份
     */
    private Integer bakSupplyStatus;

    /**
     * 对账结算状态0=未结算 1=结算中 2=已结算
     */
    private String settlementStatus;

    /**
     * 项目订单采购单位ID
     */
    private String saleDeptId;

    /**
     * 项目订单采购单位ID
     */
    private String saleDeptName;

    /**
     * 项目所属公司ID
     */
    private String projectDeptId;

    /**
     * 项目所属公司名称
     */
    private String projectDeptName;

    /**
     * 材料ID
     */
    private String materialId;

    /**
     * 材料编码
     */
    private String materialCode;

    /**
     * 材料名称
     */
    private String materialName;

    /**
     * 材料规格
     */
    private String materialSpecs;

    /**
     * 材料型号
     */
    private String materialModel;

    /**
     * 材料单位
     */
    private String materialUnit;

    /**
     * 材料品牌
     */
    private String materialBrand;

    /**
     * 材料数量
     */
    private BigDecimal materialNum;

    /**
     * 不含税单价（元）
     */
    private BigDecimal excludingTaxUnitPrice;

    /**
     * 税率（%）
     */
    private BigDecimal tax;

    /**
     * 含税单价（元）
     */
    private BigDecimal includingTaxUnitPrice;

    /**
     * 含税总价（元）
     */
    private BigDecimal includingTaxTotalPrice;

    /**
     * 本次订单已订购总数
     */
    private BigDecimal applyCountNum;

    /**
     * 合同含税总价
     */
    private BigDecimal contractIncludingTaxTotalPrice;

    /**
     * 合同含税单价
     */
    private BigDecimal contractIncludingTaxPrice;

    /**
     * 订单中供货总数量
     */
    private BigDecimal supplyCountNum;

    /**
     * 当前订单订购数量
     */
    private BigDecimal orderCount;
//    /**
//     * 订单中本次供货数量
//     */
//    private BigDecimal supplyNum;
    /**
     * 项目确认供货数量
     */
    private BigDecimal comfirmSupplyNum;
    /**
     * 验收数量
     */
    private BigDecimal checkNum;

    private List<SoSupplyMaterialInfoSaveDto> materialList;
}
